Comparison of container formats

This table compares features of container formats. To see which multimedia players support which container format, look at comparison of media players.

Contents

Information

Name and file extension, if different Proprietor/Developer License Support for B-frames Variable bit rate audio Variable frame rate Chapters Captions (Subtitles) Video formats supported Audio formats supported Metadata/Tags supported Menu Support (like DVD) Streaming Support Attachment Support[1] 3D Support (codec) 3D Support at container level Supported by hardware players
3GP 3GPP ? Yes Yes Yes ? 3GPP Timed Text H.263, MPEG-4 Part 2 and H.264/MPEG-4 AVC AMR-NB, AMR-WB, AMR-WB+, AAC, HE-AAC and HE-AAC v2 ? No ? ? ? ? ?
3G2 3GPP2 ? Yes Yes Yes ? 3GPP Timed Text H.263, MPEG-4 Part 2 and H.264/MPEG-4 AVC AMR-NB, AMR-WB, AAC, HE-AAC, EVRC, EVRC-B, EVRC-WB, 13K (QCELP), SMV or VMR-WB ? No ? ? ? ? ?
Advanced Systems Format (.asf, .wma, .wmv) Microsoft Proprietary, patent encumbered No Yes Yes Yes Yes Almost anything through VFW or DMO; H.264/AVC is problematic Almost anything through ACM or DMO; Vorbis is problematic Yes No Yes ? ? ? Yes
AVI Microsoft  ? No[2] Yes[3] Yes[4] Yes, via third party modifications Yes, via third party modifications Almost anything through VFW; H.264/AVC is problematic due to the limited B-frame support[5] Almost anything through ACM; Vorbis is problematic [6] Yes through RIFF chunks No Yes No ? No Yes
DivX Media Format (.divx) DivX, Inc.  ? Yes Yes Yes Yes Yes MPEG-4 Part 2 video encoded to meet DivX profiles MP3, PCM, AC-3 ? Yes Yes ? ? ? Yes
EVO MPEG Patent encumbered Yes Yes Yes Yes Yes MPEG-2 Part 2, H.264/MPEG-4 AVC, VC-1 AC-3, E-AC-3, Dolby TrueHD, Linear PCM, DTS, DTS-HD, MPEG-2 Part 3 ? Yes ? ? ? ? ?
F4V (Flash Video) Adobe Systems Patent encumbered Yes ? Yes ? ? H.264/MPEG-4 AVC MP3, AAC, HE-AAC[7] Yes No Yes ? ? ? ?
FLV (Flash Video) Adobe Systems Patent encumbered Yes ? Yes No No Sorenson, VP6, Screen Video, H.264/MPEG-4 AVC[8][9] MP3, Nellymoser, ADPCM, Linear PCM, AAC[10], Speex[11] Yes No Yes ? ? ? ?
Matroska (.mkv, .mk3d, .mka, .mks) CoreCodec, Inc.[12] Freely licensed[13] Yes[14] Yes[15] Yes[15] Yes[16] Yes[17] Virtually anything Virtually anything Yes[18] under development by CoreCodec[19] Yes[20] Yes[21] Yes[22] Yes[22] Yes[23]
MCF Community BSD-style license for specs, GNU for tools Yes Yes Yes Yes[24] Yes[24] Not fully specified Not fully specified Yes Possible[25] Yes[26] Yes[24] ? ? No
MP4 MPEG Patent encumbered Yes Yes Yes 1) In specially formatted text track (QuickTime); 2) In userdata atom (started by Nero Digital) can't interact with the sceneDescription, or via segmentDescriptor ttxt, VobSubs with private objectTypeIndication not usable with the sceneDescription (started by Nero), BIFS MPEG-2 Part 2, MPEG-4 ASP, H.264/MPEG-4 AVC, H.263, VC-1, Dirac, others[27] MPEG-2/4 (HE)-AAC, MPEG-1/2 Layers I, II, III (MP3), AC-3, Apple Lossless, ALS, SLS, Vorbis(with private objectTypeIndication), others[27] Yes Yes Yes Yes Yes ? Yes
MPEG Video File (.mpg, .mpeg) MPEG Patent encumbered Yes Yes Yes No No MPEG-1, MPEG-2[28] MPEG-1 Layers I, II, III (mp3), other formats only in private streams: LPCM[29] No No Yes ? ? ? Yes
MPEG program stream PS (.ps) MPEG Patent encumbered Yes Yes ? Only in private streams — used in VOB files on DVDs Only in private streams — used in VOB files on DVDs MPEG-1, MPEG-2, MPEG-4 Part 2[28], VC-1, H.264[30] MPEG-1 Layers I, II, III (mp3), other formats only in private streams: AAC, AC-3, LPCM, DTS[29] No Only in private streams — used in VOB files on DVDs ? ? ? ? Yes
MPEG transport stream TS (.ts) MPEG Patent encumbered Yes Yes Yes No possible via ETSI EN 300 743 MPEG-1, MPEG-2 Part 2, MPEG-4 ASP, H.264, other formats in private streams: VC-1, Dirac[31] MPEG-1 Layers I, II, III (mp3), AAC, other formats in private streams: AC-3, LPCM, DTS[31] No No Yes ? ? ? Yes
BDAV MPEG-2 transport stream (.m2ts) Blu-ray Disc Association Proprietary Yes ? Yes Yes Yes MPEG-2 Part 2, H.264, VC-1 AC-3, DTS, LPCM, Dolby Digital Plus, DTS HD, Dolby Lossless ? ? ? ? Yes ? Yes[32]
MXF SMPTE  ? Yes Yes Yes ? Yes Virtually anything Virtually anything Yes No ? ? ? ? No
Ogg Xiph.org Patent-free, Free software implementations available Yes[2] Yes Yes Yes Ogg Writ, Ogg Kate Theora, Dirac, OggUVS, MNG and others[33][34], almost anything through VFW Vorbis, FLAC, Speex, CELT, OggPCM[33][34], almost anything through ACM CMML, Ogg Skeleton, Vorbis comment[35] No Yes ? ? ? Yes
Quicktime (.mov, .qt) Apple Proprietary Yes Yes Yes Yes Yes Limited to what is available to the QuickTime codec manager Limited to what is available to Sound Manager or CoreAudio Yes Yes Yes Yes Yes Yes Yes
RMVB RealNetworks Proprietary Yes ? Yes ? Yes RealVideo 8, 9, 10 (HE)-AAC, Cook Codec, Vorbis, RealAudio Lossless ? No Yes ? ? ? ?
VOB+IFO DVD Forum Proprietary Yes Yes Yes Yes Yes MPEG-2 Part 2, MPEG-1 Part 2 AC-3, Linear PCM, DTS, MPEG-2 Part 3, MPEG-1 Layer II No Yes No No No No Yes
WebM WebM Project perpetual license grant to patents Yes, but unused[36] Yes Yes No No VP8[37] Vorbis No No Yes[38] No No Yes Yes[39]
Proprietor/Developer License Support for B-frames Variable bit rate audio Variable frame rate Chapters Captions (Subtitles) Video formats supported Audio formats supported Metadata/Tags supported Menu Support (like DVD) Streaming Support Attachment Support 3D Support (codec) 3D Support at container level Supported by hardware players

Formats supported

Audio formats supported

Lossy compression Lossless compression
MP3 WMA RealAudio Vorbis Musepack AAC AC-3 DTS PCM APE FLAC ALAC WavPack MLP / Dolby TrueHD DTS-HD
QuickTime Yes Yes No Yes No Yes Yes ? Yes No Yes Yes ? No No
AVI Yes Yes No not officially No Yes [40] Yes Yes Yes No No No No No ?
Matroska Yes Yes Yes Yes Scheduled [41] Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes
MP4 Yes Yes No not officially ? Yes Yes [42] Yes No No No Yes No No No
MXF Yes No No ? ? Yes Yes Yes Yes No No No No Yes Yes
Ogg Yes No No Yes No No No No Yes No Yes No No No No

Video formats supported

MPEG-1 MPEG-2 MPEG-4 (A)SP H.264/MPEG-4 AVC VC-1/WMV RealVideo Theora Microsoft MPEG4 V2 VP8 MVC
QuickTime Yes Yes Yes Yes Yes ? Yes ? ? ?
AVI Yes Yes Yes Problematic, limited B-frame support[5] Yes Yes Yes Yes Yes ?
OGM Yes Yes Yes Yes Yes ? Yes ? ? ?
Matroska Yes Yes Yes Yes Yes Yes Yes Yes Yes Yes[43]
MP4 Yes Yes Yes Yes Yes[44] No No ? ? Yes
MXF Yes Yes Yes Yes Yes No ? ? ? ?

Caption (Subtitle) formats supported

QuickTime AVI OGM Matroska MP4 MXF
AQTitle ? No ? ? ? ?
JACOSub [2] ? No ? ? ? ?
MicroDVD ? No ? ? ? ?
MPEG-4 Timed Text ? No ? ? Yes ?
MPSub ? No ? ? ? ?
Ogg Kate ? No Yes Yes[45] ? ?
Ogg Writ ? No Yes ? ? ?
Phoenix Subtitle ? No ? ? ? ?
PowerDivX ? No ? ? ? ?
RealText [3] ? No ? ? ? ?
SAMI ? ? ? ? ? ?
Structured Subtitle Format ? ? ? ? ? ?
SubRip ? Yes, via third party modifications Yes Yes Yes ?
Gloss Subtitle ? No ? ? ? ?
(Advanced) SubStation Alpha ? Yes, via third party modifications ? Yes Yes ?
SubViewer ? ? ? ? ? ?
Universal Subtitle Format ? No ? Yes ? ?
VobSub ? ? ? Yes [46] ? ?
XSUB ? ? ? ? ? ?

Notes and references

  1. ^ The ability to hold additional files such as fonts for subtitles etc.
  2. ^ a b B-frames are not natively supported so bitstream processing or "packing" is needed. Details on this can be found in MPEG-4 B-frames in AVI/VFW description.
  3. ^ ACM cannot handle VBR audio streams in AVI files. Thus, software using ACM to read audio from AVI files will not be able to handle VBR audio streams correctly, even though such files are compliant to the AVI file specification. This is a limitation of the ACM, not of the AVI file format.
  4. ^ Although AVI is not designed for variable framerates, it is possible to use them without creating a non-standard file by using 0-byte chunks for skipped frames. However it requires framerate to be set to Least common multiple of all framerates used, and produces slight overhead compared to true VFR.
  5. ^ a b Through an updated x264/ffdshow filter it is possible to view H.264 in an AVI file.
  6. ^ Although FFmpeg has introduced a solution to put Vorbis audio into AVI files, this "extension" is not compatible with existing Vorbis decoders for DirectShow and ACM. Putting Vorbis in an AVI container is very problematic. The way Nandub stored Vorbis audio streams in AVI files occasionally caused desychronisation when seeking.
  7. ^ Adobe Systems Incorporated (November 2008) (PDF). Video File Format Specification, Version 10. Adobe Systems Incorporated. p. 33. http://www.adobe.com/devnet/flv/pdf/video_file_format_spec_v10.pdf. Retrieved 2009-08-03. 
  8. ^ H.264/MPEG-4 AVC support is available in Adobe Flash Player 9 Update 3 (version 9.0.115.0 from December 2007) press release
  9. ^ H.264/MPEG-4 AVC What just happened to video on the web? [1]
  10. ^ AAC support is available in Adobe Flash Player 9 Update 3 (version 9.0.115.0 from December 2007) press release
  11. ^ Adobe Systems Incorporated (November 2008) (PDF). Video File Format Specification, Version 10. Adobe Systems Incorporated. p. 6. http://www.adobe.com/devnet/flv/pdf/video_file_format_spec_v10.pdf. Retrieved 2009-08-03. 
  12. ^ Although CoreCodec holds the copyrights and trademarks for the Matroska specification, the specifications are open to everybody. The source code of the libraries developed by the Matroska team is licensed under the LGPL and BSD licenses.
  13. ^ Matroska supports B-frames. http://www.matroska.org/technical/specs/index.html#ReferenceBlock
  14. ^ a b Matroska is designed to store VBR and VFR content. http://www.matroska.org/technical/guides/faq/index.html
  15. ^ Matroska supports simple chapters and nested chapters. http://www.matroska.org/technical/specs/chapters/index.html
  16. ^ Matroska subtitle specification. http://www.matroska.org/technical/specs/subtitles/index.html
  17. ^ The tagging system of Matroska http://www.matroska.org/technical/specs/tagging/index.html
  18. ^ http://www.matroska.org/technical/menu/index.html
  19. ^ For Matroska, there are two different kinds of stream: file access and live streaming. http://www.matroska.org/technical/streaming/index.html
  20. ^ Matroska can store any type of file. http://www.matroska.org/technical/specs/index.html#Attachment
  21. ^ a b http://www.matroska.org/news/stereo_3d.html Specification http://www.matroska.org/technical/specs/index.html#StereoMode
  22. ^ Companies producing Matroska-supporting hardware include Asus (ASUS Digital Media Player), OPPO Digital (Oppodigital.com OPPO BDP-83 Blue-ray Disc Player), Panasonic (Gizmodo.com, Samsung's 2009 HDTV Lineup Leaked), and LG (Asia.cnet.com How to select the right LG HDTV)
  23. ^ a b c MCF Specifications http://mukoli.free.fr/mcf/mcf.html
  24. ^ Menu is possible, but not specified yet. http://mukoli.free.fr/mcf/index.html
  25. ^ Streaming for MCF http://mukoli.free.fr/mcf/stream.html
  26. ^ a b mp4ra.org — MP4 Registration authority. "Registered types — Codecs, MPEG-4 Registration authority". http://www.mp4ra.org/codecs.html. Retrieved 2009-07-28. 
  27. ^ a b ISO (2000-12-01) ISO/IEC 13818-1 : 2000, Second edition Retrieved on 2009-07-25
  28. ^ a b dvd.sourceforge.net DVD Resources for Open Source Development, DVD — MPEG differences, Retrieved on 2009-07-28
  29. ^ "The VC-1 and H.264 Video Compression Standards for Broadband Video", by Jae-Beom Lee and Hari Kalva. ISBN 978-0387710426
  30. ^ a b SMPTE Registration Authority, LLC — registration authority for MPEG-2 format identifiers Retrieved on 2009-07-06
  31. ^ https://secure.wikimedia.org/wikipedia/en/wiki/.m2ts#Software_support
  32. ^ a b "MIME Types and File Extensions". XiphWiki. http://wiki.xiph.org/index.php/MIME_Types_and_File_Extensions. Retrieved 2009-10-24. 
  33. ^ a b "RFC 5334 — Ogg Media Types". IETF. 2008-09. http://tools.ietf.org/html/rfc5334. Retrieved 2009-10-24. 
  34. ^ "Ogg Metadata". Xiph Wiki. 2005-12-20. http://wiki.xiph.org/Metadata. Retrieved 2007-08-31. 
  35. ^ Supported by the container, but unused due to the artificial limitation to VP8.
  36. ^ WebM limits support to VP8 and vorbis. http://www.webmproject.org/about/
  37. ^ WebM is focused on addressing the unique needs of serving video on the web. http://www.webmproject.org/about/
  38. ^ Rockchip demonstrated full WebM hardware playback. http://blog.webmproject.org/2011/01/availability-of-webm-vp8-video-hardware.html
  39. ^ There is a value in the stream headers, called dwSampleSize, which is 0 in order to trigger VBR stream seeking. This is officially documented in the MSDN and not a hack, bug or whatever. The way MP3-VBR and AAC are stored in AVI are specified and completely compliant with the AVI file specification.
  40. ^ Possible, but not implemented at this date. The developers are awaiting the release of Musepack 8.x, as this version will completely change the bitstream.
  41. ^ According to "ETSI TS 102 366 v1.2.1 - Digital Audio Compression (AC-3, Enhanced AC-3) Standard, Annex F"
  42. ^ Stereo 3D in Matroska can be handled with codecs like MVC. http://www.matroska.org/news/stereo_3d.html
  43. ^ As specified by SMPTE Recommended Practices 2025–2007, "VC-1 Bitstream Storage in the ISO Base Media File Format."
  44. ^ https://www.bunkus.org/videotools/mkvtoolnix/doc/mkvmerge.html#mkvmerge.subtitles
  45. ^ The requirement for muxing VobSub into matroska is v7 subtitles. http://www.matroska.org/technical/specs/subtitles/images.html

See also